home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / misc / genpatch / update30.bat < prev   
DOS Batch File  |  1995-01-15  |  16KB  |  560 lines

  1. @echo off
  2.  
  3. rem  -------------------------------------------------------------------------
  4. rem
  5. rem  File Name : update30.bat
  6. rem
  7. rem  Remarks   : This batch file updates a package from a specified version
  8. rem              to a specified version.
  9. rem
  10. rem  SYNTAX    : update30 directory package oldver newver [L or S or P]
  11. rem
  12. rem  Programmer: D. Tsitrelis  02/03/94
  13. rem              Dale Keiper   06/28/94
  14. rem              D. Tsitrelis  01/15/95
  15. rem
  16. rem  -------------------------------------------------------------------------
  17. rem
  18.  
  19. rem Display header
  20.  
  21. echo ·
  22. echo · update30.bat
  23. echo · Copyright (c) Genus Microprogramming, Inc. 1988-94. All Rights Reserved.
  24. echo ·
  25.  
  26. rem  -------------------------------------------------------------------------
  27.      :PARMS
  28. rem  -------------------------------------------------------------------------
  29.  
  30.      if "%1"=="?"  goto SYNTAX
  31.  
  32.      if "%1"==""   goto SYNTAX
  33.      if "%2"==""   goto SYNTAX
  34.      if "%3"==""   goto SYNTAX
  35.      if "%4"==""   goto SYNTAX
  36.      if "%5"=="L"  goto ENVIRONMENT
  37.      if "%5"=="l"  goto ENVIRONMENT
  38.      if "%5"=="S"  goto ENVIRONMENT
  39.      if "%5"=="s"  goto ENVIRONMENT
  40.      if "%5"=="P"  goto ENVIRONMENT
  41.      if "%5"=="p"  goto ENVIRONMENT
  42.  
  43.      goto SYNTAX
  44.  
  45. rem  -------------------------------------------------------------------------
  46.      :ENVIRONMENT
  47. rem  -------------------------------------------------------------------------
  48.  
  49.      set GXLIB=%2
  50.      set GXOLDVER=%3
  51.      set GXORIGVER=%3
  52.      set GXNEWVER=%4
  53.      set GXPACKAGE=%5
  54.  
  55. rem  Adjust to use upper case to simplify comparisons
  56.  
  57.      if "%GXPACKAGE%"=="L" goto TESTPACKAGE
  58.      if "%GXPACKAGE%"=="l" goto ADJUSTLIBCASE
  59.      if "%GXPACKAGE%"=="S" goto TESTPACKAGE
  60.      if "%GXPACKAGE%"=="s" goto ADJUSTSRCCASE
  61.      if "%GXPACKAGE%"=="P" goto TESTPACKAGE
  62.      if "%GXPACKAGE%"=="p" goto ADJUSTPMCASE
  63.  
  64. :ADJUSTLIBCASE
  65.  
  66.      set  GXPACKAGE=L
  67.      goto TESTPACKAGE
  68.  
  69. :ADJUSTSRCCASE
  70.  
  71.      set  GXPACKAGE=S
  72.      goto TESTPACKAGE
  73.  
  74. :ADJUSTPMCASE
  75.  
  76.      set  GXPACKAGE=P
  77.      goto TESTPACKAGE
  78.  
  79. rem  -------------------------------------------------------------------------
  80.      :TESTPACKAGE
  81. rem  -------------------------------------------------------------------------
  82.  
  83.      if "%GXPACKAGE%"=="L" goto MSGL
  84.      if "%GXPACKAGE%"=="S" goto MSGS
  85.      if "%GXPACKAGE%"=="P" goto MSGP
  86.  
  87.      goto ERROR
  88.  
  89. rem  -------------------------------------------------------------------------
  90.      :MSGL
  91. rem  -------------------------------------------------------------------------
  92.  
  93. echo ·
  94. echo · Patching library files for %GXLIB% from v%GXOLDVER% to v%GXNEWVER%
  95. echo ·
  96.  
  97.      goto START
  98.  
  99. rem  -------------------------------------------------------------------------
  100.      :MSGS
  101. rem  -------------------------------------------------------------------------
  102.  
  103. echo ·
  104. echo · Patching source code files for %GXLIB% from v%GXOLDVER% to v%GXNEWVER%
  105. echo ·
  106.  
  107.      goto START
  108.  
  109. rem  -------------------------------------------------------------------------
  110.      :MSGP
  111. rem  -------------------------------------------------------------------------
  112.  
  113. echo ·
  114. echo · Patching protected mode files for %GXLIB% from v%GXOLDVER% to v%GXNEWVER%
  115. echo ·
  116.  
  117. rem  -------------------------------------------------------------------------
  118.      :START
  119. rem  -------------------------------------------------------------------------
  120.  
  121.      if "%GXLIB%"=="GX"  goto GX300
  122.      if "%GXLIB%"=="gx"  goto GX300
  123.      if "%GXLIB%"=="TX"  goto TX300
  124.      if "%GXLIB%"=="tx"  goto TX300
  125.      if "%GXLIB%"=="FX"  goto FX300
  126.      if "%GXLIB%"=="fx"  goto FX300
  127.      if "%GXLIB%"=="PCX" goto PCX600
  128.      if "%GXLIB%"=="pcx" goto PCX600
  129.      if "%GXLIB%"=="GR"  goto GR300
  130.      if "%GXLIB%"=="gr"  goto GR300
  131.      if "%GXLIB%"=="PR"  goto PR150
  132.      if "%GXLIB%"=="pr"  goto PR150
  133.      if "%GXLIB%"=="GIF" goto GIF150
  134.      if "%GXLIB%"=="gif" goto GIF150
  135.  
  136.      goto SYNTAX
  137.  
  138. rem  -------------------------------------------------------------------------
  139.      :GX300
  140. rem  -------------------------------------------------------------------------
  141.  
  142.      if not "%GXOLDVER%"=="3.00" goto GX301
  143.  
  144.      if not "%GXPACKAGE%"=="S" goto GX300LP
  145.  
  146.      md %1\gx\asm\bl286    > nul
  147.      md %1\gx\asm\bcl      > nul
  148.      md %1\gx\asm\stub\bcl > nul
  149.  
  150.      :GX300LP
  151.  
  152.      patch %1 gx301%GXPACKAGE%.RTP
  153.      if not errorlevel 0 goto ERROR
  154.  
  155.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  156.  
  157.      set GXOLDVER=3.01
  158.  
  159. rem  -------------------------------------------------------------------------
  160.      :GX301
  161. rem  -------------------------------------------------------------------------
  162.  
  163.      if not "%GXOLDVER%"=="3.01" goto GX302
  164.  
  165.      if not "%GXPACKAGE%"=="S" goto GX301LP
  166.  
  167.      md %1\gx\asm\bc286    > nul
  168.      md %1\gx\asm\pb       > nul
  169.      md %1\gx\asm\stub\pb  > nul
  170.  
  171.      :GX301LP
  172.  
  173.      patch %1 gx302%GXPACKAGE%.RTP
  174.      if not errorlevel 0 goto ERROR
  175.  
  176.      if "%GXNEWVER%"=="3.02" goto SUCCESS
  177.  
  178.      set GXOLDVER=3.02
  179.  
  180. rem  -------------------------------------------------------------------------
  181.      :GX302
  182. rem  -------------------------------------------------------------------------
  183.  
  184.      if not "%GXOLDVER%"=="3.02" goto GX303
  185.  
  186.      if not "%GXPACKAGE%"=="S" goto GX302LP
  187.  
  188.      md %1\gx\asm\tb286    > nul
  189.  
  190.      :GX302LP
  191.  
  192.      patch %1 gx303%GXPACKAGE%.RTP
  193.      if not errorlevel 0 goto ERROR
  194.  
  195.      if "%GXNEWVER%"=="3.03" goto SUCCESS
  196.  
  197.      set GXOLDVER=3.03
  198.  
  199. rem  -------------------------------------------------------------------------
  200.      :GX303
  201. rem  -------------------------------------------------------------------------
  202.  
  203.      goto SUCCESS
  204.  
  205. rem  -------------------------------------------------------------------------
  206.      :FX300
  207. rem  -------------------------------------------------------------------------
  208.  
  209.      if not "%GXOLDVER%"=="3.00" goto FX301
  210.  
  211.      if not "%GXPACKAGE%"=="S" goto FX300LP
  212.  
  213.      md %1\fx\asm\bc286    > nul
  214.      md %1\fx\asm\bcl      > nul
  215.      md %1\fx\asm\bl286    > nul
  216.      md %1\fx\asm\bp286    > nul
  217.      md %1\fx\asm\ex286    > nul
  218.      md %1\fx\asm\pl286    > nul
  219.      md %1\fx\asm\pl286\cl > nul
  220.      md %1\fx\asm\pl286\cm > nul
  221.      md %1\fx\asm\pl286\cs > nul
  222.      md %1\fx\asm\rs286    > nul
  223.      md %1\fx\asm\rs286\cl > nul
  224.      md %1\fx\asm\rs286\cm > nul
  225.      md %1\fx\asm\rs286\cs > nul
  226.      md %1\fx\asm\stub     > nul
  227.      md %1\fx\asm\stub\bc  > nul
  228.      md %1\fx\asm\stub\bc7 > nul
  229.      md %1\fx\asm\stub\bcl > nul
  230.      md %1\fx\asm\stub\cl  > nul
  231.      md %1\fx\asm\stub\cm  > nul
  232.      md %1\fx\asm\stub\cs  > nul
  233.      md %1\fx\asm\stub\pb  > nul
  234.      md %1\fx\asm\stub\tp  > nul
  235.  
  236.      :FX300LP
  237.  
  238.      patch %1 fx301%GXPACKAGE%.RTP
  239.  
  240.      if not errorlevel 0 goto ERROR
  241.  
  242.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  243.  
  244.      set GXOLDVER=3.01
  245.  
  246. rem  -------------------------------------------------------------------------
  247.      :FX301
  248. rem  -------------------------------------------------------------------------
  249.  
  250.      goto SUCCESS
  251.  
  252. rem  -------------------------------------------------------------------------
  253.      :PR150
  254. rem  -------------------------------------------------------------------------
  255.  
  256.      if not "%GXOLDVER%"=="1.50" goto PR151
  257.  
  258.      if not "%GXPACKAGE%"=="S" goto PR150LP
  259.  
  260.      md %1\pr\asm\bl286    > nul
  261.      md %1\pr\asm\bcl      > nul
  262.  
  263.      :PR150LP
  264.  
  265.      patch %1 pr151%GXPACKAGE%.RTP
  266.      if not errorlevel 0 goto ERROR
  267.  
  268.      if "%GXNEWVER%"=="1.51" goto SUCCESS
  269.  
  270.      set GXOLDVER=1.51
  271.  
  272. rem  -------------------------------------------------------------------------
  273.      :PR151
  274. rem  -------------------------------------------------------------------------
  275.  
  276.      if not "%GXOLDVER%"=="1.51" goto PR152
  277.  
  278.      if not "%GXPACKAGE%"=="S" goto PR151LP
  279.  
  280.      md %1\pr\asm\bc286    > nul
  281.      md %1\pr\asm\pb       > nul
  282.  
  283.      :PR151LP
  284.  
  285.      patch %1 pr152%GXPACKAGE%.RTP
  286.      if not errorlevel 0 goto ERROR
  287.  
  288.      if "%GXNEWVER%"=="1.52" goto SUCCESS
  289.  
  290.      set GXOLDVER=1.52
  291.  
  292. rem  -------------------------------------------------------------------------
  293.      :PR152
  294. rem  -------------------------------------------------------------------------
  295.  
  296.      goto SUCCESS
  297.  
  298. rem  -------------------------------------------------------------------------
  299.      :TX300
  300. rem  -------------------------------------------------------------------------
  301.  
  302.      if not "%GXOLDVER%"=="3.00" goto TX301
  303.  
  304.      patch %1 tx301%GXPACKAGE%.RTP
  305.  
  306.      if not errorlevel 0 goto ERROR
  307.  
  308.      if not "%GXPACKAGE%"=="L" goto TX301SRCTEST
  309.  
  310.      echo copy %%1 %%2     >  gxmove.bat
  311.      echo del  %%1         >> gxmove.bat
  312.  
  313.      md %1\fontsae         > nul
  314.      md %1\fontsfn         > nul
  315.      md %1\fontsoz         > nul
  316.  
  317.      echo ·
  318.      echo · Copying fonts A-E to new directory
  319.      echo ·
  320.  
  321.      for %%i in (%1\fonts\a????_??.gft) do call gxmove %%i %1\fontsae
  322.      for %%i in (%1\fonts\b????_??.gft) do call gxmove %%i %1\fontsae
  323.      for %%i in (%1\fonts\c????_??.gft) do call gxmove %%i %1\fontsae
  324.      for %%i in (%1\fonts\d????_??.gft) do call gxmove %%i %1\fontsae
  325.      for %%i in (%1\fonts\e????_??.gft) do call gxmove %%i %1\fontsae
  326.  
  327.      echo ·
  328.      echo · Copying fonts F-N to new directory
  329.      echo ·
  330.  
  331.      for %%i in (%1\fonts\f????_??.gft) do call gxmove %%i %1\fontsfn
  332.      for %%i in (%1\fonts\g????_??.gft) do call gxmove %%i %1\fontsfn
  333.      for %%i in (%1\fonts\h????_??.gft) do call gxmove %%i %1\fontsfn
  334.      for %%i in (%1\fonts\i????_??.gft) do call gxmove %%i %1\fontsfn
  335.      for %%i in (%1\fonts\j????_??.gft) do call gxmove %%i %1\fontsfn
  336.      for %%i in (%1\fonts\k????_??.gft) do call gxmove %%i %1\fontsfn
  337.      for %%i in (%1\fonts\l????_??.gft) do call gxmove %%i %1\fontsfn
  338.      for %%i in (%1\fonts\m????_??.gft) do call gxmove %%i %1\fontsfn
  339.      for %%i in (%1\fonts\n????_??.gft) do call gxmove %%i %1\fontsfn
  340.  
  341.      echo ·
  342.      echo · Copying fonts O-Z to new directory
  343.      echo ·
  344.  
  345.      for %%i in (%1\fonts\o????_??.gft) do call gxmove %%i %1\fontsoz
  346.      for %%i in (%1\fonts\p????_??.gft) do call gxmove %%i %1\fontsoz
  347.      for %%i in (%1\fonts\q????_??.gft) do call gxmove %%i %1\fontsoz
  348.      for %%i in (%1\fonts\r????_??.gft) do call gxmove %%i %1\fontsoz
  349.      for %%i in (%1\fonts\s????_??.gft) do call gxmove %%i %1\fontsoz
  350.      for %%i in (%1\fonts\t????_??.gft) do call gxmove %%i %1\fontsoz
  351.      for %%i in (%1\fonts\u????_??.gft) do call gxmove %%i %1\fontsoz
  352.      for %%i in (%1\fonts\v????_??.gft) do call gxmove %%i %1\fontsoz
  353.      for %%i in (%1\fonts\w????_??.gft) do call gxmove %%i %1\fontsoz
  354.      for %%i in (%1\fonts\x????_??.gft) do call gxmove %%i %1\fontsoz
  355.      for %%i in (%1\fonts\y????_??.gft) do call gxmove %%i %1\fontsoz
  356.      for %%i in (%1\fonts\z????_??.gft) do call gxmove %%i %1\fontsoz
  357.  
  358.      del gxmove.bat
  359.  
  360.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  361.  
  362.      set GXOLDVER=3.01
  363.  
  364. :TX301SRCTEST
  365.  
  366.      if not "%GXPACKAGE%"=="S" goto TX301PMTEST
  367.  
  368.      md %1\tx\asm\bl286    > nul
  369.      md %1\tx\asm\bcl      > nul
  370.      md %1\tx\asm\stub\bcl > nul
  371.  
  372.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  373.  
  374.      set GXOLDVER=3.01
  375.  
  376. :TX301PMTEST
  377.  
  378.      if not "%GXPACKAGE%"=="P" goto TX301
  379.  
  380.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  381.  
  382.      set GXOLDVER=3.01
  383.  
  384. rem  -------------------------------------------------------------------------
  385.      :TX301
  386. rem  -------------------------------------------------------------------------
  387.  
  388.      if not "%GXOLDVER%"=="3.01" goto TX302
  389.  
  390.      if not "%GXPACKAGE%"=="S" goto TX301LP
  391.  
  392.      md %1\tx\asm\pb       > nul
  393.  
  394.      :TX301LP
  395.  
  396.      patch %1 tx302%GXPACKAGE%.RTP
  397.      if not errorlevel 0 goto ERROR
  398.  
  399.      if "%GXNEWVER%"=="3.02" goto SUCCESS
  400.  
  401.      set GXOLDVER=3.02
  402.  
  403. rem  -------------------------------------------------------------------------
  404.      :TX302
  405. rem  -------------------------------------------------------------------------
  406.  
  407.      goto SUCCESS
  408.  
  409. rem  -------------------------------------------------------------------------
  410.      :PCX600
  411. rem  -------------------------------------------------------------------------
  412.  
  413.      if not "%GXOLDVER%"=="6.00" goto PCX601
  414.  
  415.      if not "%GXPACKAGE%"=="S" goto PCX600LP
  416.  
  417.      md %1\pcx\asm\pb       > nul
  418.      md %1\pcx\asm\bcl      > nul
  419.      md %1\pcx\asm\bc286    > nul
  420.      md %1\pcx\asm\bl286    > nul
  421.      md %1\pcx\asm\ex286    > nul
  422.      md %1\pcx\asm\stub\bcl > nul
  423.      md %1\pcx\asm\stub\pb  > nul
  424.      md %1\pcx\asm\stub\tp  > nul
  425.  
  426.      :PCX600LP
  427.  
  428.      patch %1 pcx601%GXPACKAGE%.RTP
  429.  
  430.      if not errorlevel 0 goto ERROR
  431.  
  432.      if "%GXNEWVER%"=="6.01" goto SUCCESS
  433.  
  434.      set GXOLDVER=6.01
  435.  
  436.  
  437. rem  -------------------------------------------------------------------------
  438.      :PCX601
  439. rem  -------------------------------------------------------------------------
  440.  
  441.      goto SUCCESS
  442.  
  443. rem  -------------------------------------------------------------------------
  444.      :GIF150
  445. rem  -------------------------------------------------------------------------
  446.  
  447.      if not "%GXOLDVER%"=="1.50" goto GIF151
  448.  
  449.      if not "%GXPACKAGE%"=="S" goto GIF150LP
  450.  
  451.      md %1\gif\asm\pb       > nul
  452.      md %1\gif\asm\bcl      > nul
  453.      md %1\gif\asm\bc286    > nul
  454.      md %1\gif\asm\bl286    > nul
  455.  
  456.      :GIF150LP
  457.  
  458.      patch %1 gif151%GXPACKAGE%.RTP
  459.  
  460.      if not errorlevel 0 goto ERROR
  461.  
  462.      if "%GXNEWVER%"=="1.51" goto SUCCESS
  463.  
  464.      set GXOLDVER=1.51
  465.  
  466.  
  467.  
  468. rem  -------------------------------------------------------------------------
  469.      :GIF151
  470. rem  -------------------------------------------------------------------------
  471.  
  472.      goto SUCCESS
  473.  
  474. rem  -------------------------------------------------------------------------
  475.      :GR300
  476. rem  -------------------------------------------------------------------------
  477.  
  478.      if not "%GXOLDVER%"=="3.00" goto GR301
  479.  
  480.      if not "%GXPACKAGE%"=="S" goto GR300LP
  481.  
  482.      md %1\gr\asm\pb       > nul
  483.  
  484.      :GR300LP
  485.  
  486.  
  487.      patch %1 gr301%GXPACKAGE%.RTP
  488.  
  489.      if not errorlevel 0 goto ERROR
  490.  
  491.      if "%GXNEWVER%"=="3.01" goto SUCCESS
  492.  
  493.      set GXOLDVER=3.01
  494.  
  495. rem  -------------------------------------------------------------------------
  496.      :GR301
  497. rem  -------------------------------------------------------------------------
  498.  
  499.      goto SUCCESS
  500.  
  501. rem  -------------------------------------------------------------------------
  502.      :SUCCESS
  503. rem  -------------------------------------------------------------------------
  504.  
  505. rem  Display success message
  506.  
  507. echo ·
  508. echo · %GXLIB% files v%GXORIGVER% were patched successfully to v%GXNEWVER%.
  509. echo ·
  510.  
  511.      goto END
  512.  
  513. rem  -------------------------------------------------------------------------
  514.      :ERROR
  515. rem  -------------------------------------------------------------------------
  516.  
  517. rem  Display error message
  518.  
  519. echo 
  520. echo ·
  521. echo · Error building patch for %GXLIB% from v%GXOLDVER% to v%GXNEWVER%...
  522. echo ·
  523.  
  524.      goto END
  525.  
  526. rem  -------------------------------------------------------------------------
  527.      :SYNTAX
  528. rem  -------------------------------------------------------------------------
  529.  
  530. echo 
  531. echo ·
  532. echo · SYNTAX    : update30 DIR LIBRARY OLDVER NEWVER [S or L or P]
  533. echo ·
  534. echo ·         where DIR            = directory package is installed at
  535. echo ·               LIBRARY        = library (GX,TX,FX,PCX,GR,GIF,PR)
  536. echo ·               OLDVER         = old version
  537. echo ·               NEWVER         = new version
  538. echo ·               [S or L or P]  = patch the [S]ource code or [L]ibrary or
  539. echo ·                                [P]rotected mode
  540. echo ·
  541. echo · Example   : To apply the source code patch to convert GX Kernel v3.00
  542. echo ·             to v3.05, type the following:
  543. echo ·
  544. echo ·             update30 C:\GENUS GX 3.00 3.05 S
  545. echo ·
  546.      goto END
  547.  
  548. rem  -------------------------------------------------------------------------
  549.      :END
  550. rem  -------------------------------------------------------------------------
  551.  
  552.      set GXLIB=
  553.      set GXOLDVER=
  554.      set GXORIGVER=
  555.      set GXNEWVER=
  556.      set GXPACKAGE=
  557.  
  558.      exit
  559.  
  560.